
TRIGGER PROCEDURE FOR WRITE OF PC_MSTR OLD BUFFER OLD_PC_MSTR.


{mfdeclre.i }
define new shared work-table wf_old_pc_mstr like pc_mstr.

/* fdn 2004/10/28 Modify Record processing */
HK:
do:
    if can-find(first dt_mstr where dt_table = "pc_mstr" and dt_type = "SYNC") then
        run CreateSyncFlag(input "MOD", input recid(pc_mstr), input "pc_mstr").

    if not can-find ( first dt_mstr where dt_table = "pc_mstr" and dt_type = "MOD" ) then leave HK.
    
    if not can-find ( first wf_old_pc_mstr ) then do:
        create wf_old_pc_mstr.
        if recid(wf_old_pc_mstr)= -1 then .
    end.
    
    buffer-copy old_pc_mstr to wf_old_pc_mstr no-error.

    for each dt_mstr no-lock where dt_table = "pc_mstr" and dt_type = "MOD" :
    
        case dt_field :

            when "pc_list" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_list, input pc_mstr.pc_list,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_prod_line" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_prod_line, input pc_mstr.pc_prod_line,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_part" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_part, input pc_mstr.pc_part,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_um" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_um, input pc_mstr.pc_um,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_start" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_start), input string(pc_mstr.pc_start),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_expire" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_expire), input string(pc_mstr.pc_expire),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_amt_type" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_amt_type, input pc_mstr.pc_amt_type,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc__qad02" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc__qad02, input pc_mstr.pc__qad02,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_min_qty[1]" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_min_qty[1]), input string(pc_mstr.pc_min_qty[1]),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_amt[1]" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_amt[1]), input string(pc_mstr.pc_amt[1]),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_curr" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_curr, input pc_mstr.pc_curr,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_tax_in" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_tax_in), input string(pc_mstr.pc_tax_in),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc__qad01" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc__qad01), input string(pc_mstr.pc__qad01),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_user1" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_user1, input pc_mstr.pc_user1,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_user2" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_user2, input pc_mstr.pc_user2,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_mod_date" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_mod_date), input string(pc_mstr.pc_mod_date),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_userid" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input wf_old_pc_mstr.pc_userid, input pc_mstr.pc_userid,
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_min_price" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_min_price), input string(pc_mstr.pc_min_price),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

            when "pc_max_price[1]" then
                run CreateDthist(input dt_table, input dt_field, input dt_type, input string(wf_old_pc_mstr.pc_max_price[1]), input string(pc_mstr.pc_max_price[1]),
                    input recid(pc_mstr), input pc_mstr.pc_list, input pc_mstr.pc_part, input pc_mstr.pc_curr, input pc_mstr.pc_prod_line,
                    input pc_mstr.pc_um, input string(pc_mstr.pc_start), input "", input "").

        end.

    end.
end.

{hkdttrans.i}
